package controller

import (
	"electron/version/update/service"

	"github.com/gin-gonic/gin"
)

func CheckVersion(ctx *gin.Context) {
	// 客户端发起检查版本信息的请求，携带版本信息摘要算法结果
	// 服务端通过前端发送的摘要结果，与后端的摘要结果进行比对，如果不一致则返回最新版本信息
	params := new(struct {
		VersionMd5 string `form:"version_md5" binding:"required"`
	})
	if err := ctx.ShouldBind(params); err != nil {
		ctx.JSON(200, gin.H{"code": "2000", "error": err.Error()})
		return
	}
	ok, version := service.Version(params.VersionMd5)

	if !ok {
		ctx.JSON(200, gin.H{"data": "有可更新的版本: " + version})
		return
	}
	ctx.JSON(200, gin.H{"data": "已是最新版本"})
}
func UpdateVersion(ctx *gin.Context) {
	files, err := service.UpdateVersion()
	if err != nil {
		ctx.JSON(200, gin.H{"code": "2000", "error": err.Error()})
		return
	}
	ctx.JSON(200, gin.H{"data": files})
}
